﻿using System;
using System.Collections.Generic;

using System.Text;

namespace Rance.Battle
{
    class 攻击之阵1 : 战斗开始被动技能
    {
        public override void Excute(技能环境 环境)
        {
            var 赋予 = new 赋予()
            {
                Level = 1,
                是否单回合 = false
            };
            foreach (var 角色 in 环境.队伍状况.队伍.成员List)
            {
                角色.Set攻击赋予(赋予);
            }
        }
    }

    class 攻击之阵2 : 战斗开始被动技能
    {
        public override void Excute(技能环境 环境)
        {
            var 赋予 = new 赋予()
            {
                Level = 3,
                是否单回合 = false
            };
            foreach (var 角色 in 环境.队伍状况.队伍.成员List)
            {
                角色.Set攻击赋予(赋予);
            }
        }
    }

    class 防御之阵1 : 战斗开始被动技能
    {
        public override void Excute(技能环境 环境)
        {
            var 赋予 = new 赋予()
            {
                Level = 1,
                是否单回合 = false
            };
            foreach (var 角色 in 环境.队伍状况.队伍.成员List)
            {
                角色.Set防御赋予(赋予);
            }
        }
    }

    class 防御之阵2 : 战斗开始被动技能
    {
        public override void Excute(技能环境 环境)
        {
            var 赋予 = new 赋予()
            {
                Level = 3,
                是否单回合 = false
            };
            foreach (var 角色 in 环境.队伍状况.队伍.成员List)
            {
                角色.Set防御赋予(赋予);
            }
        }
    }

    class 速度之阵1 : 战斗开始被动技能
    {
        public override void Excute(技能环境 环境)
        {
            var 赋予 = new 赋予()
            {
                Level = 1,
                是否单回合 = false
            };
            foreach (var 角色 in 环境.队伍状况.队伍.成员List)
            {
                角色.Set速度赋予(赋予);
            }
        }
    }

    class 速度之阵2 : 战斗开始被动技能
    {
        public override void Excute(技能环境 环境)
        {
            var 赋予 = new 赋予()
            {
                Level = 3,
                是否单回合 = false
            };
            foreach (var 角色 in 环境.队伍状况.队伍.成员List)
            {
                角色.Set速度赋予(赋予);
            }
        }
    }

    class 智力之阵1 : 战斗开始被动技能
    {
        public override void Excute(技能环境 环境)
        {
            var 赋予 = new 赋予()
            {
                Level = 1,
                是否单回合 = false
            };
            foreach (var 角色 in 环境.队伍状况.队伍.成员List)
            {
                角色.Set智力赋予(赋予);
            }
        }
    }

    class 谋略之阵2 : 战斗开始被动技能
    {
        public override void Excute(技能环境 环境)
        {
            var 赋予 = new 赋予()
            {
                Level = 3,
                是否单回合 = false
            };
            foreach (var 角色 in 环境.队伍状况.队伍.成员List)
            {
                角色.Set智力赋予(赋予);
            }
        }
    }

    class 王者之阵 : 战斗开始选择被动技能
    {
        public 王者之阵()
        {
            this.选择List = new List<string>() { "攻击", "防御", "速度","智力" };
        }

        public override void Excute(技能环境 环境, string 选择)
        {
            var 赋予 = new 赋予()
            {
                Level = 1,
                是否单回合 = false
            };
            switch (选择)
            {
                case "攻击":
                    foreach (var 角色 in 环境.队伍状况.队伍.成员List)
                    {
                        角色.Set攻击赋予(赋予);
                    }
                    break;
                case "防御":
                    foreach (var 角色 in 环境.队伍状况.队伍.成员List)
                    {
                        角色.Set防御赋予(赋予);
                    }
                    break;
                case "速度":
                    foreach (var 角色 in 环境.队伍状况.队伍.成员List)
                    {
                        角色.Set速度赋予(赋予);
                    }
                    break;
                case "智力":
                    foreach (var 角色 in 环境.队伍状况.队伍.成员List)
                    {
                        角色.Set智力赋予(赋予);
                    }
                    break;
            }
        }
    }
}
